package aparicio.mbox.parse;

import java.util.List;

public interface Email {
	/**Parse out the email file and grab the different statistics from it.
	 * 
	 * @throws Exception
	 */
	public void parse() throws Exception;
	
	/**Get the IP addresses of the senders of the emails
	 * 
	 * @return A List of Strings that represent the sender IP addresses
	 */
	public List<String> getSentIP();
	
	/**Get the IP addresses of the receivers of the emails
	 * 
	 * @return A List of Strings that represent the receiver IP addresses
	 */
	public List<String> getReceivedIP();
	
	/**Get the email addresses of the senders of the emails
	 * 
	 * @return A List of Strings that represent the sender email addresses
	 */
	public List<String> getSentEmail();
	
	/**Get the email addresses of the receivers of the emails
	 * 
	 * @return A List of Strings that represent the receiver email addresses
	 */
	public List<String> getReceivedEmail();
	
	/**Get the domain of the senders of the emails
	 * 
	 * @return A List of Strings that represent the sender domain
	 */
	public List<String> getSentDomain();
	
	/**Get the domain of the receivers of the emails
	 * 
	 * @return A List of Strings that represent the receiver domain
	 */
	public List<String> getReceivedDomain();
	
	/**Get the subject of the email
	 * 
	 * @return The subject of the email
	 */
	public List<String> getSentSubject();
	
	/**Get the subject of the email
	 * 
	 * @return The subject of the email
	 */
	public List<String> getReceivedSubject();
	
	/**Print the different statistics parsed out from the email file
	 * 
	 * @throws Exception 
	 */
	public void printStats() throws Exception;
}
